Solid-state drives (SSD) are a form of data storage that use a solid-state memory to store data. Examples of solid state memory include static random access memory (SRAM), dynamic random access memory (DRAM), and flash memory. Unlike conventional disk drives that include several moving components, an SSD does not have moving parts as the data are electronically stored and not stored on a rotating disk. Since an SSD does not store data on a rotating disk, SSDs experience fewer mechanical failures than conventional hard disk drives having many moving parts. Additionally, SSDs have a faster startup time than conventional hard disk drives as they do not require time for a disk to spin up to a particular speed in order for data to be written to or read from the disk.
An SSD may comprise a plurality of NAND flash memory cells or DRAM memory cells. In some implementations, NAND flash memory is a single-level cell (SLC) that stores a single bit of data per cell. Multi-level cell flash memories (MLC) store two bits of data per cell. Accordingly, MLC flash has a higher density than that of SLC flash, and due to its lower price and higher capacity, MLC flash is more commonly used in an SSD than SLC flash.
Although the capacity of SSDs continues to increase, a tradeoff is typically made between read and write speed and memory capacity. Conventional flash memory architecture utilizes a single flash controller for each flash group to which the flash controller is connected. Each flash controller coordinates the read, write, and erase cycles for the flash groups to which it is connected. If additional memory is required by a host system, an additional SSD component is added to the host device requiring the host to have an additional connection port. Accordingly, the capacity of an SSD is limited by the number of connections available on a host device.
Accordingly, an improved solid-state flash memory architecture is needed.